﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Inmobiliaria.Data;
using Inmobiliaria.Services.Core.DTO;
using Inmobiliaria.Services.Core.Domain;

namespace Inmobiliaria.UCControllers
{
    public class ConsultarVentasUC
    {
        public static List<DtoTipoInmueble> CargarCombo()
        {
            return DaoCargarCombo.CargarComboDao();
        }
        public static List<DtoProvincias> CargarComboProvincias()
        {
            return DaoCargarCombo.CargarComboProvincias();
        }
        public List<DtoLocalidades> CargarComboLocalidades(int id)
        {
            DaoCargarCombo cargarCombo = new DaoCargarCombo();
            return cargarCombo.CargarComboLocalidades(id);
        }
        public List<DtoBarrios> CargarComboBarrios(int id)
        {
            DaoCargarCombo cargarCombo = new DaoCargarCombo();
            return cargarCombo.CargarComboBarrios(id);
        }
        public List<DtoListaInmueble> ConsultarVentasInmuebles(Core.Filtros.FiltroConsultaVenta filtro)
        {
            DaoConsultaVentaInmueble consultarVentas = new DaoConsultaVentaInmueble();
            List<DtoListaInmueble> listainmueble = consultarVentas.ConsultarVentasInmuebles(filtro);
            return listainmueble;
        }
        public List<DtoListaInmueble> ConsultarVentasInmueblesPorCodigo(Core.Filtros.FiltroConsultaVenta filtro)
        {
            DaoConsultaVentaInmueble consultarVentas = new DaoConsultaVentaInmueble();
            List<DtoListaInmueble> listainmueble = consultarVentas.ConsultarVentasInmueblesPorCodigo(filtro);
            return listainmueble;
        }
        public DtoListaInmueble TraerInmueblePorId(int idInmueble)
        {
            DaoConsultaVentaInmueble consultarVentas = new DaoConsultaVentaInmueble();
            //Inmueble InmuebleSeleccionado = consultarVentas.GetById(idInmueble);
            DtoListaInmueble InmuebleSeleccionado = consultarVentas.TraerInmueble(idInmueble);

            if (InmuebleSeleccionado.IdPersona != null & InmuebleSeleccionado.IdPersona > 0)
            {
                DtoPersona DatosPersonales = consultarVentas.BuscarDatosPersonales(InmuebleSeleccionado.IdPersona);
                InmuebleSeleccionado.CodTelefono = DatosPersonales.CodTelefono;
                InmuebleSeleccionado.Telefono = DatosPersonales.Telefono;
                InmuebleSeleccionado.CodCelular = DatosPersonales.CodCelular;
                InmuebleSeleccionado.Celular = DatosPersonales.Celular;
                InmuebleSeleccionado.Email = DatosPersonales.Email;
            }

            else
            {
                DtoInmobiliaria DatosInmobiliaria = consultarVentas.BuscarDatosInmobiliaria(InmuebleSeleccionado.idInmobiliaria);
                InmuebleSeleccionado.NombreInmobiliaria2 = DatosInmobiliaria.NombreInmobiliaria;
                InmuebleSeleccionado.CodTelefonoInmobiliaria = DatosInmobiliaria.CodTelefono;
                InmuebleSeleccionado.Telefono = DatosInmobiliaria.Telefono;
                InmuebleSeleccionado.CodTelefono2 = DatosInmobiliaria.CodTelefono2;
                InmuebleSeleccionado.Telefono2 = DatosInmobiliaria.Telefono2;
                InmuebleSeleccionado.CodCelularInmobiliaria = DatosInmobiliaria.CodCelular;
                InmuebleSeleccionado.CelularInmobiliaria = DatosInmobiliaria.Celular;
                InmuebleSeleccionado.CodCelular2 = DatosInmobiliaria.CodCelular2;
                InmuebleSeleccionado.Celular2 = DatosInmobiliaria.Celular2;
                InmuebleSeleccionado.EmailInmobiliaria = DatosInmobiliaria.Email;
                InmuebleSeleccionado.Facebook = DatosInmobiliaria.Facebook;
                InmuebleSeleccionado.SitioWeb = DatosInmobiliaria.SitioWeb;
                InmuebleSeleccionado.CalleInmobiliaria = DatosInmobiliaria.Calle;
                InmuebleSeleccionado.AlturaInmobiliaria = DatosInmobiliaria.Altura;
            }



            if (InmuebleSeleccionado != null)
            {
                List<DtoImagenes> ImagenesLista = consultarVentas.BuscarImagenesInmueble(idInmueble);
                if (ImagenesLista.Count > 0)
                {
                    if (ImagenesLista[0].Imagen != null)
                    {
                        InmuebleSeleccionado.Foto1 = ImagenesLista[0].Imagen;
                    }
                    if (ImagenesLista.Count > 1)
                    {
                        if (ImagenesLista[1].Imagen != null)
                        {
                            InmuebleSeleccionado.Foto2 = ImagenesLista[1].Imagen;
                        }
                        if (ImagenesLista.Count > 2)
                        {
                            if (ImagenesLista[2].Imagen != null)
                            {
                                InmuebleSeleccionado.Foto3 = ImagenesLista[2].Imagen;
                            }
                            if (ImagenesLista.Count > 3)
                            {
                                if (ImagenesLista[3].Imagen != null)
                                {
                                    InmuebleSeleccionado.Foto4 = ImagenesLista[3].Imagen;
                                }
                                if (ImagenesLista.Count > 4)
                                {
                                    if (ImagenesLista[4].Imagen != null)
                                    {
                                        InmuebleSeleccionado.Foto5 = ImagenesLista[4].Imagen;
                                    }
                                }
                            }
                        }
                    }
                }
                //InmuebleSeleccionado.Foto1 = ImagenesLista[0].Imagen;
                //InmuebleSeleccionado.Foto2 = ImagenesLista[1].Imagen;
                //InmuebleSeleccionado.Foto3 = ImagenesLista[2].Imagen;
                //InmuebleSeleccionado.Foto4 = ImagenesLista[3].Imagen;
                //InmuebleSeleccionado.Foto5 = ImagenesLista[4].Imagen;
            }
            return InmuebleSeleccionado;
        }
    }
}
